Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Open 13 Provence - Marseille Roanne Challenger Chennai Challenger Quimper Challenger Grodzisk Mazowiecki Challenger Internazionali BNL d'Italia - Rome Monza Challenger Zug Challenger Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Great Britain F7 France F6 (Poitiers) France F22 (Nevers) France F4 (Toulouse) France F5 (Poitiers) Portugal F1 M15 Toulouse M15 Grasse M15 Forbach M25 Saint Dizier M15 Villers Les Nancy M25 Poznan M15 Caslano M15 Monastir M15 Monastir M25 Wetzlar M25+H Lesa M25 Bagneres-De-Bigorre M25+H Rodez M25 Toulouse M25 Sarreguemines M25 Villers Les Nancy M25 Monastir M25 Monastir M25 Montauban M25 Glasgow M25 Portimao M25 Santa Margherita di Pula M25 Prague M25 Trimbach M25 Jablonec nad Nisou M15 Budva M25 Grasse M25 Prague M25 Muttenz M25 Angers M25 Toulouse-Balma Tampere Challenger Liberec Challenger Cordenons Challenger Napa Challenger Sacramento Challenger Helsinki Challenger Turin Challenger Braunschweig Challenger Mons Challenger Brescia Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Manerbio Challenger Como Challenger Rome Challenger Dallas Challenger Barletta Challenger Poznan Challenger Poprad Tatry Challenger Bastad Challenger Cordenons Challenger Rennes Challenger Tunis Challenger Aix En Provence Challenger Bangalore Challenger Phoenix Challenger Aix En Provence Challenger Nur-Sultan Challenger Ostrava Challenger Aix En Provence Challenger Cassis Challenger Stockton Challenger Grodzisk Mazowiecki Challenger St. Tropez Challenger Lima 2 Challenger Quimper Challenger Mouilleron-Le-Captif Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Andria Challenger Brest Challenger Aix En Provence Challenger Budapest Challenger Bergamo Challenger Bangkok Challenger Tiburon Challenger Cary Challenger Phoenix Challenger Biella Challenger Canberra Challenger Rome Challenger Ilkley Challenger Prostejov Challenger Aptos Challenger Vancouver Challenger Istanbul Challenger Izmir Challenger Bratislava Challenger Lyon Challenger Chicago Challenger Orleans Challenger Tampere Challenger Pau Challenger Ludwigshafen Challenger Perugia Challenger Kobe Challenger Biella 4 Challenger Mouilleron-Le-Captif Challenger Cherbourg Challenger Orleans Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Como Challenger Toulouse Challenger Olbia Challenger Manerbio Challenger Genova Challenger Oeiras 3 Challenger Ilkley Challenger Sassuolo Challenger Porto Challenger Bangalore Challenger Suzhou Challenger Rennes Challenger St. Brieuc Challenger Lille Challenger Mouilleron-Le-Captif Challenger Pune Challenger Rennes Challenger Salzburg Challenger Lyon Challenger Tampere Challenger Pau Challenger Prague Challenger Rome 1 Challenger Eckental Challenger Prague Challenger Lyon Challenger Braunschweig Challenger Orleans Challenger Pau Challenger Troyes Challenger Pau Challenger Marbella Challenger St. Brieuc Challenger Bordeaux Challenger Tulln Challenger Istanbul Challenger Orleans Challenger Alicante Challenger Matsuyama Challenger Calgary Challenger Kobe Challenger Drummondville Challenger Maia Challenger Oeiras 2 Challenger Tenerife 1 Challenger Pune Challenger Ostrava Challenger Split Challenger Aix En Provence Challenger Mohammedia Challenger Mallorca Challenger Seville Challenger St. Tropez Challenger Noumea Challenger St. Tropez Challenger Phoenix Challenger Lyon Challenger New Delhi Challenger Yokohama Challenger Pau Challenger Ostrava Challenger Aix En Provence Challenger Murcia Challenger Naples Challenger Oeiras 4 Challenger Troyes Challenger Oeiras 5 Challenger Sassuolo Challenger Szczecin Challenger Lyon Challenger Hamburg Challenger St. Tropez Challenger Canberra Challenger Noumea Challenger Bendigo Challenger Cherbourg Challenger Manacor Challenger Rennes Challenger Aix En Provence Challenger Split Challenger Istanbul Challenger Cary Challenger Split 1 Challenger Split 2 Challenger St. Tropez Challenger Rennes Challenger Traralgon Challenger Francavilla Challenger San Francisco Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Zug Challenger Caltanissetta Challenger Bordeaux Challenger Arad Challenger Ecuador Open - Quito Brest Challenger Drummondville Challenger Francavilla Challenger Iasi Challenger Barcelona Open BancSabadell - Barcelona Poznan Challenger Lisbon Challenger Braga Challenger Open Sud de France - Montpellier Memphis Open - Memphis Salzburg Challenger Argentina Open - Buenos Aires Tiburon Challenger Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Nordea Open - Bastad Swiss Open - Gstaad Stockholm Open - Stockholm Open 13 Provence - Marseille BNP Paribas Nordic Open - Stockholm SkiStar Swedish Open - Bastad Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Orlando Challenger Bratislava Challenger Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad Gazprom Hungarian Open - Budapest Helsinki Challenger Intrum Stockholm Open - Stockholm Moselle Open - Metz Nordea Open - Bastad Tata Open Maharashtra - Pune Banja Luka Open - Banja Luka Poznan Challenger Rakuten Japan Open - Tokyo Nordea Open - Bastad Hamburg European Open - Hamburg Open Sud de France - Montpellier Eckental Challenger Istanbul Challenger Atlanta Open - Atlanta ABN AMRO Open - Rotterdam Open Occitanie - Montpellier Grand Prix Hassan II - Marrakech Nordea Open - Bastad Shanghai Challenger Pune Challenger Bastad Challenger Cordenons Challenger Heilbronn Challenger Bordeaux Challenger If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Stockholm Open - Stockholm Orleans Challenger Mouilleron-Le-Captif Challenger Tiriac Open - Bucharest Aircel Chennai Open - Chennai Hamburg Open - Hamburg Vicenza Challenger Barcelona Open BancSabadell - Barcelona Lincoln Challenger Bastad Challenger Tunis Challenger Tenerife Challenger If Stockholm Open - Stockholm Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Alicante Challenger Alicante Challenger Rennes Challenger Guayaquil Challenger Hamburg Challenger Moselle Open - Metz Brest Challenger Kremlin Cup - Moscow Genova Challenger TEB BNP Paribas Istanbul Open - Istanbul Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Helsinki Challenger Vilnius Challenger Prague II Challenger Mallorca Championships - Mallorca Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Prostejov Challenger Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Winnipeg Challenger Marbella Challenger Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Moselle Open - Metz Porto 2 Challenger Seville Challenger Intrum Stockholm Open - Stockholm Cary Challenger Open 13 Provence - Marseille Seoul Challenger Murray River Open - Melbourne Yokkaichi Challenger Amersfoort Challenger Tampere Challenger Zug Challenger Helsinki Challenger Moselle Open - Metz Andria Challenger Citi Open - Washington Bengaluru Challenger St. Brieuc Challenger Zagreb Challenger Blois Challenger Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Birmingham Challenger Heilbronn Challenger Ilkley Challenger Perugia Challenger Istanbul Challenger Nottingham 2 Challenger Plava Laguna Croatia Open - Umag Korea Open - Seoul Braunschweig Challenger Malaga Challenger Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Stockholm Open - Stockholm Bad Waltersdorf Challenger Open 13 Provence - Marseille Ismaning Challenger Jinan Challenger Montevideo Challenger Valencia Challenger Seoul Challenger Maia Challenger Barcelona Open Banc Sabadell - Barcelona Shenzhen Challenger Taipei Challenger San Marino Challenger Barletta Challenger Madrid Challenger Citi Open - Washington Ostrava Challenger Mauthausen Challenger Nottingham 2 Challenger Moselle Open - Metz Grodzisk Mazowiecki Challenger Suisse Open - Gstaad If Stockholm Open - Stockholm Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Naples Challenger Swiss Open - Gstaad Abierto Mexicano - Los Cabos Irving Challenger Ottignies-Louvain-la-Neuve Challenger Chennai Challenger Braunschweig Challenger Oeiras 3 Challenger Mauthausen Challenger BNP Paribas Open - Indian Wells Bordeaux Challenger Bratislava Challenger Miami Open - Miami Open Parc - Lyon Rolex Paris Masters - Paris Manama Challenger SkiStar Swedish Open - Bastad Vancouver Challenger Zadar Challenger Brest Challenger Moselle Open - Metz Sony Open Tennis - Miami Nordea Open - Bastad BNP Paribas Open - Indian Wells Rogers Cup - Toronto Miami Open - Miami BNP Paribas Open - Indian Wells Australian Open - Melbourne French Open - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris ABN AMRO World Tennis Tournament - Rotterdam Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Internazionali BNL d'Italia - Rome Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Australian Open - Melbourne Internazionali BNL d'Italia - Rome French Open - Paris Australian Open - Melbourne BNP Paribas Nordic Open - Stockholm French Open - Paris Australian Open - Melbourne Mutua Madrid Open - Madrid Miami Open - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Brisbane International - Brisbane Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Finals, Group B Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Rolex Paris Masters - Paris Wimbledon (juniors) Australian Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open - Melbourne Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) All Lower level tournaments French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris French Open - Paris Mutua Madrid Open - Madrid Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Australian Open Qualifying - Doha Wimbledon - London U.S. Open - New York U.S. Open - New York Wimbledon - London French Open - Paris U.S. Open - New York U.S. Open - New York Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London U.S. Open - New York Infosys Hall of Fame Open - Newport Davis Cup, Group A, Bologna Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 French Open (juniors) Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, World Group, Q, SWE-BRA 1-3 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group A, Bologna Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group I, 1R, SWE-IND 4-0 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) French Open (juniors) U.S. Open (juniors) Olbia Challenger